package com.itheima.A01mapDemo;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class A03mapDemo {
    public static void main(String[] args) {
        //Map集合的第二种遍历方式键值对


        //1.创建集合对象
        Map<String,String> map = new HashMap<>();

        //2.添加元素
        map.put("张三","北京");
        map.put("李四","上海");
        map.put("王五","广州");

        //3.通过键值对遍历
        //3.1获取所有的键值对，返回一个set集合
        Set<Map.Entry<String, String>> entrySet = map.entrySet();
//        //3.2遍历集合，获取每一个键值对
//        for (Map.Entry<String, String> entry : entrySet) {
//            //获取键
//            String key = entry.getKey();
//            //获取值
//            String value = entry.getValue();
//            System.out.println(key+"-->"+value);
//        }

        //4.通过迭代器遍历
//        Iterator<Map.Entry<String, String>> iterator = entrySet.iterator();
//        while(iterator.hasNext()){
//            Map.Entry<String, String> next = iterator.next();
//            System.out.println(next.getKey()+"-->"+next.getValue());
//        }

        //5.通过lambda表达式遍历
//        entrySet.forEach(new Consumer<Map.Entry<String, String>>() {
//            @Override
//            public void accept(Map.Entry<String, String> stringStringEntry) {
//                System.out.println(stringStringEntry.getKey()+"-->"+stringStringEntry.getValue());
//            }
//        });

        //6.lambda表达式的优化
        entrySet.forEach((Map.Entry<String, String> stringStringEntry)-> System.out.println(stringStringEntry.getKey()+"-->"+stringStringEntry.getValue()));
        map.forEach((key,value)-> System.out.println(key+"-->"+value));

        //两种都行

    }
}
